package com.beyond.pm.bean

import android.os.Bundle
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.AccessibleForward
import androidx.compose.material.icons.filled.ArtTrack
import androidx.compose.material.icons.filled.AutoGraph
import androidx.compose.material.icons.filled.BubbleChart
import androidx.compose.material.icons.filled.Category
import androidx.compose.material.icons.filled.Extension
import androidx.compose.material.icons.filled.Games
import androidx.compose.material.icons.filled.Group
import androidx.compose.material.icons.filled.HdrStrong
import androidx.compose.material.icons.filled.Language
import androidx.compose.material.icons.filled.LocalAtm
import androidx.compose.material.icons.filled.Memory
import androidx.compose.material.icons.filled.Palette
import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.Receipt
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.filled.ShoppingCart
import androidx.compose.material.icons.filled.Style
import androidx.compose.material.icons.filled.Toll
import androidx.compose.material.icons.filled.Tune
import androidx.compose.material.icons.filled.VideoLibrary
import androidx.compose.material.icons.filled.Widgets
import androidx.compose.ui.graphics.vector.ImageVector
import com.beyond.common.constant.APPEARANCE_AND_STYLE
import com.beyond.common.constant.LANGUAGE_SWITCH
import com.beyond.common.constant.SYSTEM_SETTING_ROUTE
import com.beyond.common.constant.TEST_ROUTE
import com.beyond.common.constant.VERSIONS_AND_UPDATES
import com.beyond.pm.R

data class RouterParameterBean(
    val labelId: Int,
    val icon: ImageVector,
    val routerStr: String = "",
    val bundle: Bundle? = null
)

// https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/10/31/16e1fbf6ce72b8be~tplv-t2oaga2asx-zoom-in-crop-mark:3024:0:0:0.awebp

sealed class RouteScreenParameter(
    val bean: RouterParameterBean
) {
    // 主页
    object Graph :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.graph, Icons.Default.AutoGraph, ""))
    object Feature :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.feature, Icons.Default.Widgets, ""))
    object Config :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.config, Icons.Default.Extension, ""))
    // 设置
    object User :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.user_manage, Icons.Default.Person, "user_manage"))
    object Role :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.role_manage, Icons.Default.Group, "role_manage"))
    object Menu :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.menu_manage, Icons.Default.ArtTrack, "menu_manage"))
    object Banner :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.banner_manage, Icons.Default.Palette, "banner_manage"))
    object Parameter :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.parameter_manage, Icons.Default.Memory, "parameter_manage"))
    object Aggregation :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.aggregation_settings, Icons.Default.Games, "aggregation_settings"))

    // 功能
    object Product :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.product_application, Icons.Default.Category, "product_application"))
    object Activity :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.activity_manage, Icons.Default.Toll, "activity_manage"))
    object Video :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.video_manage, Icons.Default.VideoLibrary, "video_manage"))
    object Point :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.point_manage, Icons.Default.BubbleChart, "point_manage"))
    object Order :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.order_manage, Icons.Default.ShoppingCart, "order_manage"))
    object Gold :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.gold_manage, Icons.Default.LocalAtm, "gold_manage"))
    // 侧滑菜单
    object DmlLog :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.dml_log, Icons.Default.Receipt, SYSTEM_SETTING_ROUTE))
    object SystemSetting :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.system_setting, Icons.Default.Settings, SYSTEM_SETTING_ROUTE))
    object Test :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.test, Icons.Default.Tune, TEST_ROUTE))

    // 系统设置
    object Style :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.appearance_and_style, Icons.Default.Style, APPEARANCE_AND_STYLE))
    object Version :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.versions_and_updates, Icons.Default.HdrStrong, VERSIONS_AND_UPDATES))
    object About :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.about_us, Icons.Default.AccessibleForward, "about_us"))

    object Language :
        RouteScreenParameter(bean = RouterParameterBean(labelId = R.string.language_switch, Icons.Default.Language, LANGUAGE_SWITCH))

}



